﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Dynamic;

namespace Platform.Tests
{
	public class Mock
	{

		public static TestDyn New()
		{
			return new TestDyn();
		}

		public static Action<T> Proc<T>( Action<T> a )
		{
			return a;
		}

		public static Action<T1, T2> Proc<T1, T2>( Action<T1, T2> a )
		{
			return a;
		}

		public static Func<T> F<T>( Func<T> f )
		{
			return f;
		}
	}


	public class TestDyn : DynamicObject
	{

		public override bool TryConvert( ConvertBinder binder, out object result )
		{
			return base.TryConvert( binder, out result );
		}

		public override bool TrySetMember( SetMemberBinder binder, object value )
		{
			return base.TrySetMember( binder, value );
		}

		public override bool TryGetMember( GetMemberBinder binder, out object result )
		{
			return base.TryGetMember( binder, out result );
		}
	}
}
